var express = require('express');
var router = express.Router();

// 因为我们没有连接数据库 这个模拟数据库文件
let studentList = [
    { id: 202001001, name: "张三", gender: "男", age: "18" },
    { id: 202001002, name: "张三封", gender: "女", age: "19" },
    { id: 202001003, name: "李四", gender: "男", age: "18" },
    { id: 202001004, name: "王五", gender: "女", age: "19" },
    { id: 202001005, name: "赵六", gender: "男", age: "21" },
    { id: 202001006, name: "孙琪", gender: "女", age: "19" },
]

//获得学生列表
router.get('/getStudents', function (req, res, next) {
    res.json({
        code: "200", // 自定义请求码 200 表示成功
        message: "请求学生列表成功", // 自定义请求提示
        data: studentList // 数据列表
    })
})

//学生新增
router.post('/addStudent', (req, res, next) => {
    let { id, name, gender, age } = req.body;
    if (id && name && gender && age) {
        studentList.push({
            id, name, gender, age
        })
        res.json({
            code: "200", // 自定义请求码 200 表示成功
            message: "添加学生成功", // 自定义请求提示
        })
    } else {
        res.json({
            code: "201", // 自定义请求码 200 表示成功
            message: "添加学生失败,参数不全", // 自定义请求提示
        })
    }
})

// 学生删除
router.post('/delStudent', (req, res, next) => {
    let { id } = req.body;
    if (id) {
        // 将需要删除的学生过滤掉
        studentList = studentList.filter(item => {
            return item.id != id;
        })
        res.json({
            code: "200", // 自定义请求码 200 表示成功
            message: "删除学生成功", // 自定义请求提示
        })
    } else {
        res.json({
            code: "201", // 自定义请求码 200 表示成功
            message: "删除学生失败,参数不全", // 自定义请求提示
        })
    }

})

// 学生修改
router.post('/updateStudent', (req, res, next) => {
    let { id, name, gender, age } = req.body;
    if (id && name && gender && age) {
        // 通过id来对学生进行修改
        studentList = studentList.map(item => {
            if (id == item.id) {
                item.name = name;
                item.gender = gender;
                item.age = age;
            }
            return item
        })
        res.json({
            code: "200", // 自定义请求码 200 表示成功
            message: "修改学生成功", // 自定义请求提示
        })
    } else {
        res.json({
            code: "201", // 自定义请求码 201 表示失败
            message: "修改学生失败,参数不全", // 自定义请求提示
        })
    }

})

module.exports = router;